package com.medical.model.param;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;

import java.util.List;

/**
 * @author TISNIW
 * @version 1.0
 * @date 2025/6/13 23:22
 * @desc
 */
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Details {
    @JsonProperty("parent_model")
    private String parentModel; // 父模型标识
    private String format; // 模型格式
    private String family; // 模型家族
    private List<String> families; // 模型所属的所有家族列表
    @JsonProperty("parameter_size")
    private String parameterSize; // 模型参数大小描述
    @JsonProperty("quantization_level")
    private String quantizationLevel; // 量化级别

    @Override
    public String toString() {
        return
                "parent_model: '" + parentModel + "',\n" +
                        "\tformat: '" + format + "',\n" +
                        "\tfamily: '" + family + "',\n" +
                        "\tfamilies: " + families + ",\n" +
                        "\tparameter_size: '" + parameterSize + "',\n" +
                        "\tquantization_level: '" + quantizationLevel + "'";
    }
}
